Dynamic এবং Static Resource ব্যবহার

Microsoft Technologies - এমভিভিএম (MVVM) Styling এবং Theming Techniques in MVVM |
179
179

Dynamic Resource এবং Static Resource হল WPF (Windows Presentation Foundation)-এর দুটি প্রধান কনসেপ্ট যা UI উপাদানগুলির স্টাইল, টেমপ্লেট, এবং বৈশিষ্ট্যগুলিকে ব্যবস্থাপনা করার জন্য ব্যবহৃত হয়। এই দুটি রিসোর্সের মধ্যে প্রধান পার্থক্য হল, Dynamic Resource এমন একটি রিসোর্স যেটি রানটাইমে পরিবর্তিত হতে পারে, যেখানে Static Resource এমন একটি রিসোর্স যা কম্পাইল টাইমে নির্ধারিত এবং পরিবর্তনযোগ্য নয়।

এগুলোর সাহায্যে অ্যাপ্লিকেশনটির UI কাস্টমাইজ এবং রিইউজ করা সহজ হয়। চলুন, এই দুটি রিসোর্স কীভাবে ব্যবহার করা যায়, তা বিস্তারিতভাবে দেখি।


Static Resource

Static Resource হল এমন একটি রিসোর্স যেটি কম্পাইল টাইমে একবার লোড হয়ে যায় এবং পরে সেটি পরিবর্তিত হয় না। এটি XAML-এ ব্যবহার করা হয় যখন আপনি UI উপাদানের জন্য নির্দিষ্ট এক রিসোর্স বা বৈশিষ্ট্য ব্যবহার করতে চান, যা কেবল একবার নির্ধারিত হয় এবং পরবর্তীতে পরিবর্তিত হয় না।

Static Resource ব্যবহারের উদাহরণ:

  1. Static Resource Declaration: Static resource সাধারণত ResourceDictionary-এর মধ্যে সংজ্ঞায়িত করা হয় এবং পরে UI উপাদানে ব্যবহার করা হয়।
<Window x:Class="StaticResourceExample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Static Resource Example" Height="350" Width="525">
    
    <Window.Resources>
        <!-- Static Resource Definition -->
        <SolidColorBrush x:Key="ButtonBackgroundColor" Color="Blue"/>
    </Window.Resources>

    <Grid>
        <Button Content="Click Me" Background="{StaticResource ButtonBackgroundColor}" Width="100" Height="50"/>
    </Grid>
</Window>

এখানে:

  • ButtonBackgroundColor নামে একটি SolidColorBrush রিসোর্স তৈরি করা হয়েছে।
  • এই রিসোর্সটি Button-এর Background প্রপার্টিতে ব্যবহার করা হয়েছে।
  • একবার রিসোর্স লোড হলে, এটি পরিবর্তন করা সম্ভব নয়।

Dynamic Resource

Dynamic Resource হল এমন একটি রিসোর্স যেটি রানটাইমে পরিবর্তন হতে পারে। এটি এমন ক্ষেত্রে ব্যবহৃত হয় যখন UI উপাদানগুলির বৈশিষ্ট্যগুলি চলমান অ্যাপ্লিকেশনের পরিবেশ বা ব্যবহারকারীর ইন্টারঅ্যাকশনের ভিত্তিতে পরিবর্তিত হতে পারে। Dynamic Resource সাধারণত ResourceDictionary-এ ব্যবহৃত হয়, কিন্তু এটি Static Resource এর মতো কম্পাইল টাইমে নির্ধারিত হয় না এবং এটিকে পরিবর্তন করা যায়।

Dynamic Resource ব্যবহারের উদাহরণ:

  1. Dynamic Resource Declaration: Dynamic resource-ও সাধারণত ResourceDictionary-এর মধ্যে সংজ্ঞায়িত করা হয়, তবে এটি runtime এ পরিবর্তিত হতে পারে।
<Window x:Class="DynamicResourceExample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Dynamic Resource Example" Height="350" Width="525">

    <Window.Resources>
        <!-- Dynamic Resource Definition -->
        <SolidColorBrush x:Key="ButtonBackgroundColor" Color="Green"/>
    </Window.Resources>

    <Grid>
        <Button Content="Click Me" Background="{DynamicResource ButtonBackgroundColor}" Width="100" Height="50"/>
    </Grid>
</Window>

এখানে:

  • ButtonBackgroundColor নামে একটি SolidColorBrush রিসোর্স তৈরি করা হয়েছে, যার প্রাথমিক রঙ Green
  • এই রিসোর্সটি Button-এর Background প্রপার্টিতে DynamicResource হিসেবে ব্যবহার করা হয়েছে।
  • DynamicResource ব্যবহার করার সুবিধা হল, একাধিক স্থানে এই রিসোর্স ব্যবহার করা হলে, রানটাইমে এর মান পরিবর্তন করা সম্ভব। উদাহরণস্বরূপ, আপনি ইউজারের থিম পরিবর্তন করার মাধ্যমে ButtonBackgroundColor এর রঙ পরিবর্তন করতে পারেন।

Static এবং Dynamic Resource এর মধ্যে পার্থক্য

বৈশিষ্ট্যStatic ResourceDynamic Resource
লোড টাইমকম্পাইল টাইমে একবার লোড হয়।রানটাইমে লোড হয় এবং পরিবর্তিত হতে পারে।
পরিবর্তনযোগ্যতাপরিবর্তনযোগ্য নয়।পরিবর্তনযোগ্য এবং রানটাইমে পরিবর্তন করা যায়।
কার্যকরী ক্ষেত্রেUI স্টাইল বা সেটিংস যা পরিবর্তিত হয় না।UI বৈশিষ্ট্য যা রানটাইমে পরিবর্তিত হতে পারে।
কোডে ব্যবহার{StaticResource ResourceName}{DynamicResource ResourceName}

Dynamic Resource এর ব্যবহারে পরিবর্তন

Dynamic Resource এর একটি বিশেষ সুবিধা হলো আপনি একাধিক রিসোর্স ব্যবহার করে অ্যাপ্লিকেশনের UI থিম বা লুক পরিবর্তন করতে পারেন।

উদাহরণ:

ধরা যাক, আপনি একটি থিম পরিবর্তন করার জন্য দুটি রঙের স্কিম ব্যবহার করতে চান: একটি ডার্ক থিম এবং একটি লাইট থিম।

<Window x:Class="ThemeChangeExample.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Theme Change Example" Height="350" Width="525">

    <Window.Resources>
        <!-- Light Theme -->
        <SolidColorBrush x:Key="ButtonBackgroundColor" Color="LightGray" />

        <!-- Dark Theme -->
        <SolidColorBrush x:Key="ButtonBackgroundColorDark" Color="DarkGray" />
    </Window.Resources>

    <Grid>
        <Button Content="Change Theme" Background="{DynamicResource ButtonBackgroundColor}" Width="200" Height="50"/>
    </Grid>
</Window>

এখন, আপনি Dynamic Resource ব্যবহার করে Button এর ব্যাকগ্রাউন্ড রঙ পরিবর্তন করতে পারেন। যেহেতু এটি DynamicResource, থিম পরিবর্তনের সময় রঙ পরিবর্তিত হবে।


উপসংহার

  • Static Resource যখন আপনি একটি রিসোর্সকে কম্পাইল টাইমে নির্ধারণ করতে চান এবং রানটাইমে সেটি পরিবর্তন করতে চান না, তখন এটি ব্যবহার করা হয়।
  • Dynamic Resource যখন আপনাকে রিসোর্সের মান রানটাইমে পরিবর্তন করতে হয়, তখন এটি ব্যবহার করা হয়।
  • Dynamic Resource UI এর বিভিন্ন অংশের মধ্যে রিয়েল টাইম পরিবর্তন নিশ্চিত করতে সহায়তা করে, যেমন থিম চেঞ্জ করা বা ব্যবহারকারীর ইন্টারঅ্যাকশনের ভিত্তিতে বৈশিষ্ট্য পরিবর্তন করা।
common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion